Deploying new software to a population of client platforms is a costly process for both software vendors and their enterprise customers, due to the common occurrence of failures Recovery from such failures usually entails platform users calling a support center multiple times; when problems nevertheless remain unresolved, technical support personnel may be dispatched to the user work place. One reason for the prevalence of deployment failures is neglecting to test the new software against the failed client platform configuration. The inability to test new software against pertinent possible client platform configurations may be a problem for the software vendor, but is likely far less problematic in the case of an enterprise An enterprise usually knows the configuration of all the client platforms that are being used in its domain of control, and thus an enterprise software deployment team can likely do a more thorough job of testing new software than could a software vendor who lacks such information.
Software is generally deployed to a specific platform. A “platform” includes software that enables other software applications. A common function found in many platforms is life cycle management of the software components running on the platform and exporting of their interfaces for use by other components. A deployment failure can occur, for example, when the newly deployed software failed to install properly or to perform as expected, or caused problems to the existing software on the target client software platform.
U.S. Pat. No. 6,779,134 to Laviolette et al. discloses a software test system and method that detects a hardware configuration of each of a plurality of test stations that are coupled to a processor such as a test center server The software test system and method stores hardware configuration data representing the detected hardware configuration of each of the plurality of test stations and provides the hardware configuration data for use in determining which of the plurality of test stations is a suitable test station for testing target software to be tested. The test stations are dynamically configurable to contain and operate differing operating systems, test software, software to be tested and other suitable applications. A plurality of test stations coupled to a test center server each have different hardware configurations. The software test system and method provides selectability of test station configuration data such as selectable data including differing operating systems, different target software to be tested on at least one of the plurality of test stations and differing test software capable of testing the selected target software to be tested. However, the Laviolette et al. reference does not teach how one might efficiently determine an appropriate set of client platforms and test cases to test for deployment.
It would be desirable to overcome the limitations in previous approaches.